1. Field Of The Invention
The present invention relates to numerical control systems for driving motors in general and to a system for controlling a machine tool along a circular path in particular.
2. Description Of The Prior Art
Stepping motors have long been used to provide extremely accurate speed and position control. In many applications it is desirable to drive two or more stepping motors simultaneously. There are two general methods to accomplish this. One method is to drive each stepping motor separately and control each at the desired rate. An example of such system is shown in U.S. Pat. No. 3,069,608. Alternatively, the motors can be driven by the same controls at the same rates. When applied to a system wherein the two motors are driving a tool respectively along two axes at right angles to one another, for instance an X-Y table, this allows a single step to be taken along either axis or a 45.degree. step to be taken when motors are simultaneously stepped.
The referenced application Ser. No. 731,867 discloses a control circuit for two stepping motors which control circuit includes a microprocessor and two counters to control the constant velocity and acceleration of the motors. If it is desired to make a circular move in an octant or a linear move along a slope other than 45.degree., the main logic attempts to drive the tool along both axes a distance equal to the longer distance to be moved and an interpolator is utilized which is responsive to each motor pulse for determining whether less error (from the slope for linear moves and from the radius for circular moves) would result from a simultaneous move or from inhibiting one of the motors on the next pulse. Such operation will result in a linear move following the proper slope and ending at the desired point or a circular move following the predetermined radius with the tool at the proper distance along the axis of the longer move while a correction move may be required along the axis of the shorter move. This correction is determined by presetting a counter to the number of steps representing the shorter move minus the number of steps representing the longer move and then incrementing the counter by one for each non-simultaneous move. The counter total after the longer distance has been moved then represents the correction to be made if any.
Although it is desirable to be able to make a move between any two points both in an octant and a quadrant, the above method is not entirely suitable. Each step requires two calculations of the square root of the sum of the squares type the results of which must be compared with the radius of the arc. Such calculations are costly in terms of the circuitry required to implement them and in the time required to do them (such time being detrimental to performance in the form of dwell marks on the work). Thus, a control circuit utilizing a microprocessor in the main logic circuit is limited as to the types of moves and the speed with which they can be made.